package com.zshan.clinic.database.model;

import java.io.Serializable;
import java.util.Date;

/**
 * 药品档案表
 */
public class StockDrugProfile implements Serializable {
    /** 药品ID;发药单ID */
    private Long drugId;

    /** 药品分类;成药，中药，耗材 */
    private String drugCategory;

    /** 药品名 */
    private String drugName;

    /** 药品拼音 */
    private String drugPinyin;

    /** 通用名 */
    private String genericName;

    /** 批准文号 */
    private String approvalNumber;

    /** 药品成分;氯化钠 */
    private String drugIngr;

    /** 药品成分 */
    private String drugIngrName;

    /** 药品剂型;片剂、胶囊剂 */
    private String dosageForm;

    /** 生产厂家;厂家表 */
    private Long mfrId;

    /** 剂量;10 */
    private Integer drugDosage;

    /** 剂量单位;g 代表的每个最小单位的含量 */
    private String drugDosageUnit;

    /** 剂量单位中文 */
    private String drugDosageUnitText;

    /** 最小包装数;12 */
    private Integer minPackQty;

    /** 最小包装数单位;个 比如说一盒阿莫西林有12个胶囊 */
    private String minPackUnit;

    /** 包装数单位中文 */
    private String minPackUnitText;

    /** 包装单位;盒 */
    private String packUnit;

    /** 包装单位中文 */
    private String packUnitText;

    /** 售价;100（分） */
    private Integer price;

    /** 是否允许拆零销售;1是0否 */
    private String isSplit;

    /** 拆零售价;一个阿莫西林胶囊几块钱 */
    private Integer splitPrice;

    /** 是否允许最小单位拆分;1是0否 可以1/3个卖给病人 */
    private String isMinSplit;

    /** 库存预警数量;小余100盒预警 */
    private Integer stockWarningQty;

    /** 禁止用药;名字，成分，个人史 */
    private String conflicts;

    /** 推荐用药;主诉 */
    private String recoms;

    /** 医嘱备注 */
    private String instrs;

    /** 诊所ID */
    private Long clinicId;

    /** 启用状态 */
    private String isEnabled;

    /** 删除标识 */
    private String isDelete;

    private Long createUserId;

    /** 创建人 */
    private String createBy;

    /** 创建时间 */
    private Date createTime;

    private Long updateUserId;

    /** 更新人 */
    private String updateBy;

    /** 更新时间 */
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    public Long getDrugId() {
        return drugId;
    }

    public void setDrugId(Long drugId) {
        this.drugId = drugId;
    }

    public String getDrugCategory() {
        return drugCategory;
    }

    public void setDrugCategory(String drugCategory) {
        this.drugCategory = drugCategory == null ? null : drugCategory.trim();
    }

    public String getDrugName() {
        return drugName;
    }

    public void setDrugName(String drugName) {
        this.drugName = drugName == null ? null : drugName.trim();
    }

    public String getDrugPinyin() {
        return drugPinyin;
    }

    public void setDrugPinyin(String drugPinyin) {
        this.drugPinyin = drugPinyin == null ? null : drugPinyin.trim();
    }

    public String getGenericName() {
        return genericName;
    }

    public void setGenericName(String genericName) {
        this.genericName = genericName == null ? null : genericName.trim();
    }

    public String getApprovalNumber() {
        return approvalNumber;
    }

    public void setApprovalNumber(String approvalNumber) {
        this.approvalNumber = approvalNumber == null ? null : approvalNumber.trim();
    }

    public String getDrugIngr() {
        return drugIngr;
    }

    public void setDrugIngr(String drugIngr) {
        this.drugIngr = drugIngr == null ? null : drugIngr.trim();
    }

    public String getDrugIngrName() {
        return drugIngrName;
    }

    public void setDrugIngrName(String drugIngrName) {
        this.drugIngrName = drugIngrName == null ? null : drugIngrName.trim();
    }

    public String getDosageForm() {
        return dosageForm;
    }

    public void setDosageForm(String dosageForm) {
        this.dosageForm = dosageForm == null ? null : dosageForm.trim();
    }

    public Long getMfrId() {
        return mfrId;
    }

    public void setMfrId(Long mfrId) {
        this.mfrId = mfrId;
    }

    public Integer getDrugDosage() {
        return drugDosage;
    }

    public void setDrugDosage(Integer drugDosage) {
        this.drugDosage = drugDosage;
    }

    public String getDrugDosageUnit() {
        return drugDosageUnit;
    }

    public void setDrugDosageUnit(String drugDosageUnit) {
        this.drugDosageUnit = drugDosageUnit == null ? null : drugDosageUnit.trim();
    }

    public String getDrugDosageUnitText() {
        return drugDosageUnitText;
    }

    public void setDrugDosageUnitText(String drugDosageUnitText) {
        this.drugDosageUnitText = drugDosageUnitText == null ? null : drugDosageUnitText.trim();
    }

    public Integer getMinPackQty() {
        return minPackQty;
    }

    public void setMinPackQty(Integer minPackQty) {
        this.minPackQty = minPackQty;
    }

    public String getMinPackUnit() {
        return minPackUnit;
    }

    public void setMinPackUnit(String minPackUnit) {
        this.minPackUnit = minPackUnit == null ? null : minPackUnit.trim();
    }

    public String getMinPackUnitText() {
        return minPackUnitText;
    }

    public void setMinPackUnitText(String minPackUnitText) {
        this.minPackUnitText = minPackUnitText == null ? null : minPackUnitText.trim();
    }

    public String getPackUnit() {
        return packUnit;
    }

    public void setPackUnit(String packUnit) {
        this.packUnit = packUnit == null ? null : packUnit.trim();
    }

    public String getPackUnitText() {
        return packUnitText;
    }

    public void setPackUnitText(String packUnitText) {
        this.packUnitText = packUnitText == null ? null : packUnitText.trim();
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }

    public String getIsSplit() {
        return isSplit;
    }

    public void setIsSplit(String isSplit) {
        this.isSplit = isSplit == null ? null : isSplit.trim();
    }

    public Integer getSplitPrice() {
        return splitPrice;
    }

    public void setSplitPrice(Integer splitPrice) {
        this.splitPrice = splitPrice;
    }

    public String getIsMinSplit() {
        return isMinSplit;
    }

    public void setIsMinSplit(String isMinSplit) {
        this.isMinSplit = isMinSplit == null ? null : isMinSplit.trim();
    }

    public Integer getStockWarningQty() {
        return stockWarningQty;
    }

    public void setStockWarningQty(Integer stockWarningQty) {
        this.stockWarningQty = stockWarningQty;
    }

    public String getConflicts() {
        return conflicts;
    }

    public void setConflicts(String conflicts) {
        this.conflicts = conflicts == null ? null : conflicts.trim();
    }

    public String getRecoms() {
        return recoms;
    }

    public void setRecoms(String recoms) {
        this.recoms = recoms == null ? null : recoms.trim();
    }

    public String getInstrs() {
        return instrs;
    }

    public void setInstrs(String instrs) {
        this.instrs = instrs == null ? null : instrs.trim();
    }

    public Long getClinicId() {
        return clinicId;
    }

    public void setClinicId(Long clinicId) {
        this.clinicId = clinicId;
    }

    public String getIsEnabled() {
        return isEnabled;
    }

    public void setIsEnabled(String isEnabled) {
        this.isEnabled = isEnabled == null ? null : isEnabled.trim();
    }

    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete == null ? null : isDelete.trim();
    }

    public Long getCreateUserId() {
        return createUserId;
    }

    public void setCreateUserId(Long createUserId) {
        this.createUserId = createUserId;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy == null ? null : createBy.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getUpdateUserId() {
        return updateUserId;
    }

    public void setUpdateUserId(Long updateUserId) {
        this.updateUserId = updateUserId;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy == null ? null : updateBy.trim();
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        StockDrugProfile other = (StockDrugProfile) that;
        return (this.getDrugId() == null ? other.getDrugId() == null : this.getDrugId().equals(other.getDrugId()))
            && (this.getDrugCategory() == null ? other.getDrugCategory() == null : this.getDrugCategory().equals(other.getDrugCategory()))
            && (this.getDrugName() == null ? other.getDrugName() == null : this.getDrugName().equals(other.getDrugName()))
            && (this.getDrugPinyin() == null ? other.getDrugPinyin() == null : this.getDrugPinyin().equals(other.getDrugPinyin()))
            && (this.getGenericName() == null ? other.getGenericName() == null : this.getGenericName().equals(other.getGenericName()))
            && (this.getApprovalNumber() == null ? other.getApprovalNumber() == null : this.getApprovalNumber().equals(other.getApprovalNumber()))
            && (this.getDrugIngr() == null ? other.getDrugIngr() == null : this.getDrugIngr().equals(other.getDrugIngr()))
            && (this.getDrugIngrName() == null ? other.getDrugIngrName() == null : this.getDrugIngrName().equals(other.getDrugIngrName()))
            && (this.getDosageForm() == null ? other.getDosageForm() == null : this.getDosageForm().equals(other.getDosageForm()))
            && (this.getMfrId() == null ? other.getMfrId() == null : this.getMfrId().equals(other.getMfrId()))
            && (this.getDrugDosage() == null ? other.getDrugDosage() == null : this.getDrugDosage().equals(other.getDrugDosage()))
            && (this.getDrugDosageUnit() == null ? other.getDrugDosageUnit() == null : this.getDrugDosageUnit().equals(other.getDrugDosageUnit()))
            && (this.getDrugDosageUnitText() == null ? other.getDrugDosageUnitText() == null : this.getDrugDosageUnitText().equals(other.getDrugDosageUnitText()))
            && (this.getMinPackQty() == null ? other.getMinPackQty() == null : this.getMinPackQty().equals(other.getMinPackQty()))
            && (this.getMinPackUnit() == null ? other.getMinPackUnit() == null : this.getMinPackUnit().equals(other.getMinPackUnit()))
            && (this.getMinPackUnitText() == null ? other.getMinPackUnitText() == null : this.getMinPackUnitText().equals(other.getMinPackUnitText()))
            && (this.getPackUnit() == null ? other.getPackUnit() == null : this.getPackUnit().equals(other.getPackUnit()))
            && (this.getPackUnitText() == null ? other.getPackUnitText() == null : this.getPackUnitText().equals(other.getPackUnitText()))
            && (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
            && (this.getIsSplit() == null ? other.getIsSplit() == null : this.getIsSplit().equals(other.getIsSplit()))
            && (this.getSplitPrice() == null ? other.getSplitPrice() == null : this.getSplitPrice().equals(other.getSplitPrice()))
            && (this.getIsMinSplit() == null ? other.getIsMinSplit() == null : this.getIsMinSplit().equals(other.getIsMinSplit()))
            && (this.getStockWarningQty() == null ? other.getStockWarningQty() == null : this.getStockWarningQty().equals(other.getStockWarningQty()))
            && (this.getConflicts() == null ? other.getConflicts() == null : this.getConflicts().equals(other.getConflicts()))
            && (this.getRecoms() == null ? other.getRecoms() == null : this.getRecoms().equals(other.getRecoms()))
            && (this.getInstrs() == null ? other.getInstrs() == null : this.getInstrs().equals(other.getInstrs()))
            && (this.getClinicId() == null ? other.getClinicId() == null : this.getClinicId().equals(other.getClinicId()))
            && (this.getIsEnabled() == null ? other.getIsEnabled() == null : this.getIsEnabled().equals(other.getIsEnabled()))
            && (this.getIsDelete() == null ? other.getIsDelete() == null : this.getIsDelete().equals(other.getIsDelete()))
            && (this.getCreateUserId() == null ? other.getCreateUserId() == null : this.getCreateUserId().equals(other.getCreateUserId()))
            && (this.getCreateBy() == null ? other.getCreateBy() == null : this.getCreateBy().equals(other.getCreateBy()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getUpdateUserId() == null ? other.getUpdateUserId() == null : this.getUpdateUserId().equals(other.getUpdateUserId()))
            && (this.getUpdateBy() == null ? other.getUpdateBy() == null : this.getUpdateBy().equals(other.getUpdateBy()))
            && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getDrugId() == null) ? 0 : getDrugId().hashCode());
        result = prime * result + ((getDrugCategory() == null) ? 0 : getDrugCategory().hashCode());
        result = prime * result + ((getDrugName() == null) ? 0 : getDrugName().hashCode());
        result = prime * result + ((getDrugPinyin() == null) ? 0 : getDrugPinyin().hashCode());
        result = prime * result + ((getGenericName() == null) ? 0 : getGenericName().hashCode());
        result = prime * result + ((getApprovalNumber() == null) ? 0 : getApprovalNumber().hashCode());
        result = prime * result + ((getDrugIngr() == null) ? 0 : getDrugIngr().hashCode());
        result = prime * result + ((getDrugIngrName() == null) ? 0 : getDrugIngrName().hashCode());
        result = prime * result + ((getDosageForm() == null) ? 0 : getDosageForm().hashCode());
        result = prime * result + ((getMfrId() == null) ? 0 : getMfrId().hashCode());
        result = prime * result + ((getDrugDosage() == null) ? 0 : getDrugDosage().hashCode());
        result = prime * result + ((getDrugDosageUnit() == null) ? 0 : getDrugDosageUnit().hashCode());
        result = prime * result + ((getDrugDosageUnitText() == null) ? 0 : getDrugDosageUnitText().hashCode());
        result = prime * result + ((getMinPackQty() == null) ? 0 : getMinPackQty().hashCode());
        result = prime * result + ((getMinPackUnit() == null) ? 0 : getMinPackUnit().hashCode());
        result = prime * result + ((getMinPackUnitText() == null) ? 0 : getMinPackUnitText().hashCode());
        result = prime * result + ((getPackUnit() == null) ? 0 : getPackUnit().hashCode());
        result = prime * result + ((getPackUnitText() == null) ? 0 : getPackUnitText().hashCode());
        result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
        result = prime * result + ((getIsSplit() == null) ? 0 : getIsSplit().hashCode());
        result = prime * result + ((getSplitPrice() == null) ? 0 : getSplitPrice().hashCode());
        result = prime * result + ((getIsMinSplit() == null) ? 0 : getIsMinSplit().hashCode());
        result = prime * result + ((getStockWarningQty() == null) ? 0 : getStockWarningQty().hashCode());
        result = prime * result + ((getConflicts() == null) ? 0 : getConflicts().hashCode());
        result = prime * result + ((getRecoms() == null) ? 0 : getRecoms().hashCode());
        result = prime * result + ((getInstrs() == null) ? 0 : getInstrs().hashCode());
        result = prime * result + ((getClinicId() == null) ? 0 : getClinicId().hashCode());
        result = prime * result + ((getIsEnabled() == null) ? 0 : getIsEnabled().hashCode());
        result = prime * result + ((getIsDelete() == null) ? 0 : getIsDelete().hashCode());
        result = prime * result + ((getCreateUserId() == null) ? 0 : getCreateUserId().hashCode());
        result = prime * result + ((getCreateBy() == null) ? 0 : getCreateBy().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getUpdateUserId() == null) ? 0 : getUpdateUserId().hashCode());
        result = prime * result + ((getUpdateBy() == null) ? 0 : getUpdateBy().hashCode());
        result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", drugId=").append(drugId);
        sb.append(", drugCategory=").append(drugCategory);
        sb.append(", drugName=").append(drugName);
        sb.append(", drugPinyin=").append(drugPinyin);
        sb.append(", genericName=").append(genericName);
        sb.append(", approvalNumber=").append(approvalNumber);
        sb.append(", drugIngr=").append(drugIngr);
        sb.append(", drugIngrName=").append(drugIngrName);
        sb.append(", dosageForm=").append(dosageForm);
        sb.append(", mfrId=").append(mfrId);
        sb.append(", drugDosage=").append(drugDosage);
        sb.append(", drugDosageUnit=").append(drugDosageUnit);
        sb.append(", drugDosageUnitText=").append(drugDosageUnitText);
        sb.append(", minPackQty=").append(minPackQty);
        sb.append(", minPackUnit=").append(minPackUnit);
        sb.append(", minPackUnitText=").append(minPackUnitText);
        sb.append(", packUnit=").append(packUnit);
        sb.append(", packUnitText=").append(packUnitText);
        sb.append(", price=").append(price);
        sb.append(", isSplit=").append(isSplit);
        sb.append(", splitPrice=").append(splitPrice);
        sb.append(", isMinSplit=").append(isMinSplit);
        sb.append(", stockWarningQty=").append(stockWarningQty);
        sb.append(", conflicts=").append(conflicts);
        sb.append(", recoms=").append(recoms);
        sb.append(", instrs=").append(instrs);
        sb.append(", clinicId=").append(clinicId);
        sb.append(", isEnabled=").append(isEnabled);
        sb.append(", isDelete=").append(isDelete);
        sb.append(", createUserId=").append(createUserId);
        sb.append(", createBy=").append(createBy);
        sb.append(", createTime=").append(createTime);
        sb.append(", updateUserId=").append(updateUserId);
        sb.append(", updateBy=").append(updateBy);
        sb.append(", updateTime=").append(updateTime);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}